/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package co.com.edu.gobesco.managedbean;

import co.com.edu.gobesco.controller.ProcesoJpaController;
import co.com.edu.gobesco.controller.exceptions.PreexistingEntityException;
import co.com.edu.gobesco.entityes.Proceso;
import java.io.Serializable;
import java.util.Calendar;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author: Edwin Chía
 * @Fecha: 23/10/2011
 */
@ManagedBean (name = "gesPocesosBean")
@ViewScoped
public class GesPocesosBean implements Serializable {


    public GesPocesosBean(){

    }
    
    private String nombre;
    private Date fechaInicio;
    private Date fechaFin;
    private boolean flag;
    private boolean registro;


    public String getNombre() {
	return nombre;
    }

    public void setNombre(String nombre) {
	this.nombre = nombre;
    }
    

     public boolean isFlag() {
	return flag;
    }

    public void setFlag(boolean flag) {
	this.flag = flag;
    }

    public Date getFechaFin() {
	return fechaFin;
    }

    public void setFechaFin(Date fechaFin) {
	this.fechaFin = fechaFin;
    }

    public Date getFechaInicio() {
	return fechaInicio;
    }

    public void setFechaInicio(Date fechaInicio) {
	this.fechaInicio = fechaInicio;
    }

    public boolean isRegistro() {
	return registro;
    }

    public void setRegistro(boolean registro) {
	this.registro = registro;
    }



    public void registrarProceso() {
	this.setFlag(true);
	System.out.println("registrarProceso init... ");
	ProcesoJpaController jpaCtrl = new ProcesoJpaController();

	FacesContext context = FacesContext.getCurrentInstance();
	
	CalendarBean	beanFechIni  = ( CalendarBean ) context.getExternalContext().getSessionMap().get("calendarBean");
	CalendarBean2	beanFechFin  = ( CalendarBean2 ) context.getExternalContext().getSessionMap().get("calendarBean2");

	this.fechaInicio    = beanFechIni.getSelectedDate();
	this.fechaFin	    = beanFechFin.getSelectedDate();

	System.out.println("fechaInicio : "+fechaInicio+" fechaFin: "+fechaFin);
	

	try {

	    Proceso procesoVO = new Proceso();

	    procesoVO.setNombre( this.nombre );
	    procesoVO.setFechaInicio( this.fechaInicio );
	    procesoVO.setFechaFin( this.fechaFin );
	    procesoVO.setRegistradoPor("Admin");

	    Calendar cal = Calendar.getInstance();
	    Date dateActual = cal.getTime();
	    procesoVO.setFechaRegistro( dateActual );

	    System.out.println("[registrarProceso]dateActual: "+dateActual);
	    System.out.println("[registrarProceso]nombre: "+this.nombre);
	    System.out.println("[registrarProceso]fechaIni: "+this.fechaInicio);
	    System.out.println("[registrarProceso]fechaFin: "+this.fechaFin);

	    jpaCtrl.create( procesoVO );
	    this.setRegistro(true);
	} catch (PreexistingEntityException ex) {
	    this.setRegistro(false);
	    Logger.getLogger(PersonasBean.class.getName()).log(Level.SEVERE, null, ex);
	} catch (Exception ex) {
	    this.setRegistro(false);
	    Logger.getLogger(PersonasBean.class.getName()).log(Level.SEVERE, null, ex);
	}
	System.out.println("registrarProceso resgistro: " + registro);
    }


}
